﻿Imports System.Text

Namespace VsSpeakerCompanion
	''' <summary>
	''' Provides the widgets that will be added to the sidebar. 
	''' The provider should be exported as <see cref="IWidgetProvider"/> using <see cref="System.ComponentModel.Composition.ExportAttribute"/> and it should provide a Name at least using the <see cref="WidgetAttribute"/>
	''' The widgets are added in the same order they are enumerated by the GetWidgets() method.
	''' A provider can be ordered before or after other providers using the <see cref="WidgetAttribute"/>
	''' </summary>
	Public Interface IWidgetProvider
		''' <summary>
		''' Returns a collection of widgets 
		''' </summary>
		''' <param name="context"></param>
		''' <returns></returns>
		Function GetWidgets(ByVal context As Context) As IEnumerable(Of IWidget)
	End Interface
End Namespace
